Benjamin Otte [Fri, 13 Jan 2017 00:43:07 +0000 (01:43 +0100)]
cssimage: Fallback images have no aspect ratio
The aspect ratio for fallback image was incorrectly set to 1.
Reftest is included.
Benjamin Otte [Fri, 13 Jan 2017 02:28:34 +0000 (03:28 +0100)]
cssimage: Scale images to contain, not cover
Images with just an aspect ratio, but without a size, should be scaled
to be fully visible in the given area.
But we scaled them to completely cover the given area, which made them
partially invisible.
Reftest included.
Benjamin Otte [Thu, 12 Jan 2017 23:39:59 +0000 (00:39 +0100)]
snapshot: Redo pop() API
gtk_snapshot_pop() => removed
gtk_snapshot_pop_and_append() => gtk_snapshot_pop()
So now there is no way to get a rendernode out of the snapshotting API
until you gtk_snapshot_finish().
Benjamin Otte [Thu, 12 Jan 2017 22:20:31 +0000 (23:20 +0100)]
snapshot: Add gtk_snapshot_push_blend()
and use it for backgrounds.
Benjamin Otte [Thu, 12 Jan 2017 22:20:11 +0000 (23:20 +0100)]
reftests: Fix test
No, GtkActions don't need to be part of this test.
Benjamin Otte [Thu, 12 Jan 2017 21:49:53 +0000 (22:49 +0100)]
stack: Build stored render node with custom Snapshot object
This is in preparation for API changes in GtkSnapshot.
Benjamin Otte [Thu, 12 Jan 2017 21:00:38 +0000 (22:00 +0100)]
Add gtk_snapshot_push_cross_fade()
... and use it.
The function is a bit awkward because it requires 2 calls to
gtk_snapshot_pop(), but once you accept that, it's very convenient to
use, as can be seen by the 2 implementations.
William Hua [Thu, 12 Jan 2017 22:16:27 +0000 (17:16 -0500)]
mir: use modal window hint
Matthias Clasen [Thu, 12 Jan 2017 20:30:11 +0000 (15:30 -0500)]
widget-factory: Add a system tab to the about dialog
Just for trying it out.
Matthias Clasen [Fri, 30 Dec 2016 04:12:42 +0000 (23:12 -0500)]
about dialog: Add a "system" tab
This is a free-form tab that can contain information about the
system environment. To see it, set GtkAboutDialog::system-information
to a non-NULL value.
https://bugzilla.gnome.org/show_bug.cgi?id=776604
Timm Bäder [Thu, 12 Jan 2017 14:14:25 +0000 (15:14 +0100)]
actionbar: Notify when :revealed changes
Timm Bäder [Thu, 12 Jan 2017 07:37:15 +0000 (08:37 +0100)]
infobar: Fix copy&paste error in documentation
Of course you shouldn't call gtk_dialog_response on a GtkInfoBar.
Timm Bäder [Thu, 12 Jan 2017 08:10:02 +0000 (09:10 +0100)]
infobar demo: Adapt to GtkInfoBar changes
Bind GtkToggleButton:active to GtkInfoBar:revealed instead of :visible.
Timm Bäder [Thu, 12 Jan 2017 08:09:22 +0000 (09:09 +0100)]
infobar: Add :revealed property
Timm Bäder [Thu, 12 Jan 2017 07:42:09 +0000 (08:42 +0100)]
infobar: Keep GParamSpecs around
So we can use them in notify_by_pspec
Benjamin Otte [Thu, 12 Jan 2017 01:01:07 +0000 (02:01 +0100)]
x11: Add call to XInitThreads()
The Mesa Vulkan drivers need XInitThreads() being called, because their
implementation has to use threads.
And I don't want to make the call depend on if Vulkan is compiled in
because that makes GTK's X11 behavior depend on compile-time flags, so
it's always called.
Matthias Clasen [Wed, 11 Jan 2017 19:07:56 +0000 (14:07 -0500)]
More filter documentation updates
Actually document the filter property, not just -gtk-icon-filter.
Matthias Clasen [Wed, 11 Jan 2017 18:38:26 +0000 (13:38 -0500)]
Correct the -gtk-icon-filter docs
I was overlooking that it is possible to specify multiple
functions. Also add a reference to the relevant spec draft.
Benjamin Otte [Wed, 11 Jan 2017 14:17:49 +0000 (15:17 +0100)]
build: List resource files explicitly
This way, we ensure that files that are built during make always get
properly listed. And we ensure that creating the resources actually
depends on them.
Benjamin Otte [Tue, 10 Jan 2017 14:59:26 +0000 (15:59 +0100)]
shortcutswindow: Make dispose work properly
Benjamin Otte [Tue, 10 Jan 2017 14:41:11 +0000 (15:41 +0100)]
tests: Add a rendernode test for borders
Benjamin Otte [Tue, 10 Jan 2017 13:59:20 +0000 (14:59 +0100)]
vulkan: Add shader for border rendering
Alexander Larsson [Wed, 11 Jan 2017 15:14:03 +0000 (16:14 +0100)]
GtkSnapshot: Always use int for the translation
We already take ints when setting the translation, so it can't
currently take any other values. Additionally, I was seeing large
costs in int -> double -> int for the rects in
gtk_snapshot_clips_rect(), as all callers really are ints (widget
allocations) and the clip region is int-based.
This change completely cleared a 2% rectangle_init_from_graphene from
the profile and is likely to have nice performance effects elsewhere
too.
Alexander Larsson [Wed, 11 Jan 2017 14:30:30 +0000 (15:30 +0100)]
widget: Avoid typechecks when accessing ->clip and ->allocation
Alexander Larsson [Wed, 11 Jan 2017 14:28:35 +0000 (15:28 +0100)]
GtkCSSImage: Avoid some type checks
The width/height/aspect getters are called a lot, and almost all
callers already verify it from _gtk_css_image_get_concrete_size (),
so just skip these checks.
Alexander Larsson [Wed, 11 Jan 2017 14:27:51 +0000 (15:27 +0100)]
Avoid some more type checks for internal calls
Alexander Larsson [Wed, 11 Jan 2017 11:04:21 +0000 (12:04 +0100)]
gtkcssgadget: Use private non-checking versions of gtk_widget calls
This avoids a lot of checking overhead.
Alexander Larsson [Wed, 11 Jan 2017 10:41:46 +0000 (11:41 +0100)]
GtkSnapshot: Reuse snapshot state objects
Rather than allocate new ones all the time we reuse the previous ones.
We just clear them and save them in the parent for later reuse.
Alexander Larsson [Wed, 11 Jan 2017 10:21:27 +0000 (11:21 +0100)]
GtkSnapshot: Move collect data to a union in the state
This means we allocate the collect data with the state, avoiding
an extra allocation. Also, a union means every state object
is the same size and we could reuse the state objects.
Alexander Larsson [Wed, 11 Jan 2017 09:08:58 +0000 (10:08 +0100)]
Snapshot: Only record names if inspector is recording
Otherwise we do a lot of allocations and vprintf calls which are
not used.
Alexander Larsson [Wed, 11 Jan 2017 08:23:37 +0000 (09:23 +0100)]
gsk_rounded_rect_init_copy: Don't normalize
This was showing up quite high on the profiles, and there is
no real reason for copy to normalize, as the source is a
GskRoundedRect which should be normalized already unless
you did something very strange (and then you should have normalized
manually).
Alexander Larsson [Wed, 11 Jan 2017 07:51:04 +0000 (08:51 +0100)]
Skip dynamic type check in css value getters
This gets called a lot during snapshotting, and this change
alone brings down snapshot time by almost 10% in a syntethic
snapshot test.
Matthias Clasen [Wed, 11 Jan 2017 02:20:38 +0000 (21:20 -0500)]
Some updates to the migration guide
Matthias Clasen [Wed, 11 Jan 2017 02:12:38 +0000 (21:12 -0500)]
Document -gtk-icon-filter
Not much detail here yet, but the syntax is documented.
Benjamin Otte [Wed, 11 Jan 2017 01:51:50 +0000 (02:51 +0100)]
cssimage: Fix cross-fade
Simgle image cross-fade opacity was computed the wrong way, which caused
weird fade-in/out animations, for example in flat buttons.
I messed this up when porting cross-fades to snapshot().
Matthias Clasen [Wed, 11 Jan 2017 00:53:08 +0000 (19:53 -0500)]
Remove an unnecessary check
Since the demise of theme engines, we can no longer hit
the case of id >= GTK_CSS_PROPERTY_N_PROPERTIES. So don't
check for this in a very frequently called function.
Matthias Clasen [Wed, 11 Jan 2017 00:52:22 +0000 (19:52 -0500)]
Use an internal parameter check here as well
We should not slow down the core parts of the css machinery
with type checks.
Matthias Clasen [Wed, 11 Jan 2017 00:47:58 +0000 (19:47 -0500)]
Use gtk_internal_return_val_if_fail here
It seems odd to have checks in just a few functions,
so switch everything over to use the internal versions.
Matthias Clasen [Tue, 10 Jan 2017 23:37:12 +0000 (18:37 -0500)]
Use _gtk_widget_get_window more
This avoids type checks in places where we know it is safe.
Matthias Clasen [Tue, 10 Jan 2017 23:34:50 +0000 (18:34 -0500)]
Refactor some css transition code slightly
Reshuffling things a bit to avoid a bunch of NULL and
type checks.
Matthias Clasen [Tue, 10 Jan 2017 22:13:51 +0000 (17:13 -0500)]
Use the .symbolic.png assets in Adwaita
Using an image() fallback from svg to png doesn't make too
much sense, since the svg is always used (unless librsvg is
not present), while the png icon is faster and cheaper to
load and thus preferable.
Rui Matos [Mon, 9 Jan 2017 16:47:54 +0000 (17:47 +0100)]
gdk/wayland: Handle non-existant gsettings keys
Since we're a library, crashing on gsettings keys, whose presence is out
of our control, isn't appropriate.
https://bugzilla.gnome.org/show_bug.cgi?id=775846
Rui Matos [Thu, 8 Dec 2016 17:18:53 +0000 (18:18 +0100)]
gdk/wayland: Add support for the gtk-enable-primary-paste gsetting
The gsetting was recently added so that we can have this configurable
on the wayland backend too.
https://bugzilla.gnome.org/show_bug.cgi?id=775846
William Hua [Mon, 9 Jan 2017 22:54:37 +0000 (17:54 -0500)]
mir: fix compile-time warnings
Daniel Boles [Mon, 9 Jan 2017 22:34:30 +0000 (22:34 +0000)]
revealer: Fix a typo in a function doc
Also, "ie" wasn't very clear, but fixing that to "i.e." would cause
truncation of the summary when processed by bindings using doxygen. So,
I replaced it with "in other words", which is no _less_ clear, at least.
William Hua [Mon, 9 Jan 2017 17:04:48 +0000 (12:04 -0500)]
mir: properly handle empty clipboard
https://bugzilla.gnome.org/show_bug.cgi?id=775732
Chun-wei Fan [Mon, 9 Jan 2017 07:33:25 +0000 (15:33 +0800)]
Visual Studio builds: Move project files to win32/
It was suggested that the project files to be moved to win32/, so that we can
have one less layer of directories we need to go down into to reach the project files.
Chun-wei Fan [Mon, 9 Jan 2017 04:11:33 +0000 (12:11 +0800)]
build/Makefile.msvcproj: Improve documentation
Tell people about what happens when generating projects when Visual
Studio 2013 or later is required, and mention that the .headers are
only needed when headers need to be copied.
Benjamin Otte [Mon, 9 Jan 2017 00:10:22 +0000 (01:10 +0100)]
cssgadget: Compute clip correctly
We were computing it relative to the gadget allocation, but it should be
relative to the widget allocation.
Timm Bäder [Sun, 8 Jan 2017 15:58:27 +0000 (16:58 +0100)]
widget: Document child/sibling accessors
Timm Bäder [Sun, 8 Jan 2017 15:54:34 +0000 (16:54 +0100)]
switch: Use a widget as slider
Timm Bäder [Sun, 8 Jan 2017 15:44:46 +0000 (16:44 +0100)]
widget: Add construct-only css-name property
So we can set the css name of a widget to something that's not related
to the class name. If the css-name property is set to NULL, we will
still fall back to the one set using gtk_widget_class_set_css_name which
is alwasys non-NULL since GtkWidget itself sets it to "widget".
Timm Bäder [Sun, 8 Jan 2017 14:10:52 +0000 (15:10 +0100)]
actionbar: Fix class and instance struct parent member
Timm Bäder [Sun, 8 Jan 2017 13:52:34 +0000 (14:52 +0100)]
actionbar: Add revealed property
So we can show and hide it with a transition as well as bind another
property to it.
Timm Bäder [Sun, 8 Jan 2017 12:10:43 +0000 (13:10 +0100)]
testsuite/cssprovider: Use actual existing style property
All the style properties in GtkTreeView are gone, so use one from
GtkScrollbar for now.
Timm Bäder [Sun, 8 Jan 2017 12:07:12 +0000 (13:07 +0100)]
builderparser: Shuffle if-statements around once more
The previous reordering broke the builderparser test case.
Timm Bäder [Sun, 8 Jan 2017 11:02:48 +0000 (12:02 +0100)]
testsuite/builder: Use g_assert_no_error to check GError
So we get a proper error message.
Timm Bäder [Sun, 8 Jan 2017 10:06:49 +0000 (11:06 +0100)]
printunixdialog: Remove leftover draw handler
Timm Bäder [Sun, 8 Jan 2017 09:49:06 +0000 (10:49 +0100)]
actionbar: Add revealer as internal child
Timm Bäder [Sun, 8 Jan 2017 09:46:26 +0000 (10:46 +0100)]
actionbar: Remove show() and hide() implementations
They only show/hide the widget in a delayed fashion which doesn't
work, just like it doesn't work with infobars and popovers.
Rafael Fontenelle [Sun, 8 Jan 2017 04:31:34 +0000 (04:31 +0000)]
Update Brazilian Portuguese translation
Rafael Fontenelle [Sun, 8 Jan 2017 03:40:55 +0000 (03:40 +0000)]
Update Brazilian Portuguese translation
Benjamin Otte [Sun, 8 Jan 2017 02:34:58 +0000 (03:34 +0100)]
gdk: Remove testing functions
They were unused and unimplemented.
Benjamin Otte [Sun, 8 Jan 2017 00:47:51 +0000 (01:47 +0100)]
tests: Remove gtk_widget_send_key()
It's unused in GTK.
Benjamin Otte [Sun, 8 Jan 2017 00:42:03 +0000 (01:42 +0100)]
tests: Remove widget find functions
They are all unused by GTK.
And other people can write their own find functions if they need any in
their tests.
Matthias Clasen [Wed, 4 Jan 2017 19:42:33 +0000 (14:42 -0500)]
Make GTK_DEBUG=interactive work better
We currently have various ways to initialize GTK+, and not
all of them were supporting this way of bringing up the
inspector. Fix this.
https://bugzilla.gnome.org/show_bug.cgi?id=776807
Pavel Grunt [Mon, 2 Jan 2017 20:46:22 +0000 (21:46 +0100)]
build: Fix vulkan detection
Add missing 'test'
https://bugzilla.gnome.org/show_bug.cgi?id=776736
Benjamin Otte [Sat, 7 Jan 2017 23:46:08 +0000 (00:46 +0100)]
docs: Remove a line that's not true anymore
Benjamin Otte [Sat, 7 Jan 2017 16:09:25 +0000 (17:09 +0100)]
viewport: Remove API to query GdkWindows
Benjamin Otte [Sat, 7 Jan 2017 15:07:21 +0000 (16:07 +0100)]
treeview: Remove gtk_tree_view_get_bin_window()
We don't want to expose GdkWindows in the public API.
Benjamin Otte [Sat, 7 Jan 2017 14:27:02 +0000 (15:27 +0100)]
gdk: Remove unused debug category
Timm Bäder [Sat, 7 Jan 2017 17:08:53 +0000 (18:08 +0100)]
gtkfishbowl: Remove gtk_container_snapshot_child call
Timm Bäder [Sat, 7 Jan 2017 16:02:20 +0000 (17:02 +0100)]
Remove gtk_container_snapshot_child
Replace it with the already existing gtk_widget_snapshot_child.
Timm Bäder [Sat, 7 Jan 2017 14:58:55 +0000 (15:58 +0100)]
Unparent child widgets
Timm Bäder [Fri, 6 Jan 2017 16:06:51 +0000 (17:06 +0100)]
Add gtk_widget_set_focus_child
With a very useful implementation, but at least now we don't get runtime
warnings.
Timm Bäder [Fri, 6 Jan 2017 08:43:52 +0000 (09:43 +0100)]
Add gtk_widget_snapshot_child
Timm Bäder [Wed, 7 Dec 2016 13:05:34 +0000 (14:05 +0100)]
widget: Warn if children are left in finalize()
Timm Bäder [Sun, 4 Dec 2016 11:48:50 +0000 (12:48 +0100)]
gtkmain: Correctly notify all widgets of a grab
Timm Bäder [Sat, 3 Dec 2016 10:09:58 +0000 (11:09 +0100)]
widget: Fix :parent property type
Parent widgets can now also be widgets, not just containers.
Timm Bäder [Wed, 30 Nov 2016 16:38:09 +0000 (17:38 +0100)]
testsuite: Stop testing style properties
Timm Bäder [Tue, 29 Nov 2016 17:32:43 +0000 (18:32 +0100)]
inspector: Don't try to access child props of non-containers
Timm Bäder [Wed, 23 Nov 2016 19:19:44 +0000 (20:19 +0100)]
widget: Remove gtk_widget_style_get_property
Timm Bäder [Tue, 22 Nov 2016 21:14:45 +0000 (22:14 +0100)]
spinbutton: Use widgets for up/down buttons
Timm Bäder [Tue, 15 Nov 2016 15:53:03 +0000 (16:53 +0100)]
switch: Use GtkLabels for on/off labels
Timm Bäder [Tue, 15 Nov 2016 15:49:41 +0000 (16:49 +0100)]
inspector: Show child widgets of widgets
Timm Bäder [Fri, 18 Nov 2016 09:02:50 +0000 (10:02 +0100)]
widget: Implement create_path for widgets with non-container parent
Timm Bäder [Fri, 18 Nov 2016 09:02:22 +0000 (10:02 +0100)]
widget: Unparent widgets in dispose()
If they have a non-container parent.
Timm Bäder [Fri, 18 Nov 2016 08:53:58 +0000 (09:53 +0100)]
widget: Check for containerness before calling container API
Timm Bäder [Fri, 18 Nov 2016 08:50:52 +0000 (09:50 +0100)]
widget: Implement map/unmap with child widgets
Once again, do what GtkContainer did before.
Timm Bäder [Fri, 18 Nov 2016 08:47:38 +0000 (09:47 +0100)]
widget: Implement show_all
Do what gtk_container_forall did: show_all all children, then the widget
itself.
Timm Bäder [Mon, 21 Nov 2016 16:04:20 +0000 (17:04 +0100)]
widget: Iterate over child widgets instead of gtk_container_forall
Timm Bäder [Fri, 18 Nov 2016 08:29:52 +0000 (09:29 +0100)]
widget: Add children and sibling pointers
and a (private) way to access them. We will later use these pointers to
manage children of non-container widgets and containers alike.
Timm Bäder [Wed, 4 Jan 2017 13:04:09 +0000 (14:04 +0100)]
combobox: Remove unused define
Balázs Meskó [Sat, 7 Jan 2017 10:18:25 +0000 (10:18 +0000)]
Update Hungarian translation
Benjamin Otte [Sat, 7 Jan 2017 01:05:26 +0000 (02:05 +0100)]
gtk-demo: Make icon counter work from ui file
Gets rid of update always being 1 frame late.
Benjamin Otte [Sat, 7 Jan 2017 00:59:23 +0000 (01:59 +0100)]
gtk-demo: Add GtkFishbowl
Avoids usage of GtkFixed where child properties eat up all the CPU time.
And that's kinda not what I want to benchmark.
Benjamin Otte [Fri, 6 Jan 2017 17:10:12 +0000 (18:10 +0100)]
vulkan: Reallocate descriptor sets
Because wee now reset the descriptor pool, we also need to reallocate
the descriptor sets.
Benjamin Otte [Fri, 6 Jan 2017 16:16:38 +0000 (17:16 +0100)]
vulkan: Keep vertex buffer around until cleanup
Don't just free it while the command buffer using it is still pending.
Benjamin Otte [Fri, 6 Jan 2017 15:31:03 +0000 (16:31 +0100)]
vulkan: Reset descriptor pool
We don't want the pool to reference images we're gonna destroy. Drivers
don't like that at all.
Benjamin Otte [Thu, 5 Jan 2017 12:37:58 +0000 (13:37 +0100)]
gsk: Don't use wildcards
Explicitly list all the shaders, so new ones get picked up properly and
cause the resource file to be regenerated (due to Makefile.am changing).